PC-compatible computer systems have traditionally utilized a complementary metallic oxide semiconductor (“CMOS”) memory device to store configuration information. Such a CMOS memory device is utilized by the computer's basic input/output system (“BIOS”) to store configuration information for the computer, such as the date, time, and other configuration settings. The CMOS memory device is typically powered by a battery so that it retains the stored information when the computer is turned off.
Although CMOS devices have long been used in PC-compatible computers, these memory devices are falling out of favor as the preferred method for storing configuration information. One reason for this change is because CMOS memory devices must be powered by a battery when the computer is turned off. A drained or malfunctioning battery will cause the computer to lose its settings when power is removed. The battery and additional circuitry required by CMOS memory devices also adds additional cost to the computer. Moreover, CMOS memory devices tend to connect to the computer via a slow and outdated interface. For these reasons, and others, many PC-compatible computer systems are now utilizing a non-volatile random access memory (“NVRAM” or “flash”) device to store configuration information and settings for the computer. NVRAM is a type of random access memory that retains its contents even when power is removed without the use of a battery.
Although NVRAM devices provide the benefit of being able to store computer configuration information even when power is removed, these devices are not without their drawbacks. These drawbacks typically involve the speed at which information can be stored on an NVRAM device. In particular, writing data to an NVRAM device can be time consuming. This is because bits within the device must be changed from an erased state to an updated state in order to write the data. Additionally, once the bits have been changed from the erased state to the updated state, the bits cannot be changed again without erasing the entire block of the NVRAM device that contains the bits. Erasing an entire block of an NVRAM is also a relatively time consuming operation. It is with respect to these considerations and others that the present invention has been made.